#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import sys


def fix_sys_path(current_path):
    """
    logic to have always the correct sys.path
     '', web2py/gluon, web2py/site-packages, web2py/ ...
    """

    def add_path_first(path):
        sys.path = [path] + [
            p for p in sys.path if (not p == path and not p == (path + "/"))
        ]

    path = os.path.dirname(os.path.abspath(current_path))

    if not os.path.isfile(os.path.join(path, "web2py.py")):
        i = 0
        while i < 10:
            i += 1
            if os.path.exists(os.path.join(path, "web2py.py")):
                break
            path = os.path.abspath(os.path.join(path, ".."))

    paths = [
        path,
        os.path.abspath(os.path.join(path, "site-packages")),
        os.path.abspath(os.path.join(path, "gluon")),
        "",
    ]
    [add_path_first(path) for path in paths]
